<?Php
    
// блок свичей для всего, что касается логина и регистрации

switch ($request['action']){
    
    case 'logout': // логаут
            if(isset($_SESSION['id']))
                unset($_SESSION['id']);
            if(isset($_SESSION['hash']))
                unset($_SESSION['hash']);
            if(isset($_COOKIE['id']))
                setcookie("id", "", time() - 3600, '/');
            if(isset($_COOKIE['hash']))
                setcookie("hash", "", time() - 3600, '/');
                setcookie('login','',time(),'/'); setcookie('pass','',time(),'/');
                session_destroy();
                header('Location: ' . SITE_URL); die();
    break;
    
    
    case 'checkLogin': // проверялка логина
            $q = $this -> pdo -> query("SELECT * FROM " . DB_MODEL_USERS . " WHERE `nick`='".ekran($_REQUEST['login'])."' AND `md5s`='".md5(ekran($_REQUEST['pass']))."' ");
            $e = $q -> fetch();
            if ($e)echo '1';
            die();
    break;

    case 'checkNick': // проверялка логина
            $q = $this -> pdo -> query("SELECT * FROM " . DB_MODEL_USERS . " WHERE `nick`='".ekran($_REQUEST['login'])."' ");
            $e = $q -> fetch();
            if ($e)echo '1';
            die();
    break;


    case 'editSettings': // сохраняем настройки
            $pref = preferences::getInstance();
            $priv = $pref -> getProperty('loginData');
            $q = $this -> pdo -> query("SELECT * FROM " . DB_MODEL_USERS . " WHERE `number`='".$priv['account']."' ");
            $e = $q -> fetch(); $email = $e['email']; $nick = $e['nick'];
            
            $q = $this -> pdo -> query("UPDATE " . DB_MODEL_USERS . " SET
                                        `email`='".ekran($_POST['email'])."',
                                        `icq`='".ekran($_POST['icq'])."',
                                        `organization`='".ekran($_POST['organization'])."',
                                        `phone`='".ekran($_POST['phone'])."',
                                        `rus_name`='".ekran($_POST['rus_name'])."',
                                        `skype`='".ekran($_POST['skype'])."'
                                            WHERE `number`=".$priv['account']);
            
            if ($_POST['newpass']!=''){
                $q = $this -> pdo -> query("UPDATE " . DB_MODEL_USERS . " SET `md5s`='".md5($_POST['newpass'])."' WHERE `number`=".$priv['account']);
                $pref -> setProperty ( 'messageString', 'Новый пароль отправлен на Ваш почтовый ящик.' );
                
                    $m=new Mail; 
                    $m->From('admin@'.SITE_URL);
                    $m->To( $email );
                    $m->Subject( "смена пароля ") . SITE_URL;
                    $message ="Здравствуйте! \r\n\r\n";
                    $message.="Вы поменяли пароль на сайте ".SITE_URL."\r\n\r\n";
                    $message.="Логин: ".$nick."\r\n";
                    $message.="Пароль: ".$_POST['newpass']."\r\n\r\n Поменять пароль и отредактировать личные данные можно в настройках - ".SITE_URL."/settings\r\n\r\nДобро пожаловать на сайт!";
                    
                    $m->Body( $message, "utf8" );
                    $m->Priority(3);
                    
                    $m->Send();
            }
            
            header('Location: http://'.SITE_URL.'.net/settings'); die();
    break;


    case 'quickReg': // быстрая регистрация
            $pref = preferences::getInstance();
            $email = ekran ($_REQUEST['email']);
            $nick = ekran ($_REQUEST['nick']);
            $q = $this -> pdo -> query("SELECT * FROM " . DB_MODEL_USERS . " WHERE `nick`='".$nick."' ");
            $e = $q -> fetch();
            if ($e){
                $pref -> setProperty ( 'messageString', 'Ошибка регистрации: пользователь с таким логином уже есть!' );
            }
            else
            {
                if ($email!=''){$mavalid=0;
                if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$", $email))
                { // на всякий случай проверяем регэкспом, чтобы отсечь e-mail не правильного формата
                    $format=1; 	list($alias, $domain) = split("@", $email); // разбиваем e-mail на состовляющие
                        if (checkdnsrr($domain, "MX")) 
                        {getmxrr($domain, $mxhost); 	foreach($mxhost as $mxKey => $mxValue)
                                        { }        
                                $mavalid=1;	}
                        else {$mavalid=0;}}
                else {$format=0;}}
                
                if ($format==0)$pref -> setProperty ( 'messageString', 'Ошибка регистрации: формат e-mail ошибочный!');
                elseif (($format==1) & ($mavalid==0))$pref -> setProperty ( 'messageString', 'Ошибка регистрации: указанный адрес не существует!');
                else {
                    $pass=substr(md5(time()*2),5,6);
                    
                    $w = $this -> pdo -> query("INSERT INTO " . DB_MODEL_USERS . " (`nick`,`rus_name`,`email`,`reg_time`,`md5s`, `camefrom`) VALUES
                                                ('{$nick}','{$nick}','{$email}','".time()."','".md5($pass)."', 'market')");
                    
                    $m=new Mail; 
                    $m->From('admin@'.SITE_URL);
                    $m->To( $email );
                    $m->Subject( "регистрация на ") . SITE_URL;
                    $message ="Здравствуйте! \r\n\r\n";
                    $message.="По этому е-мейлу был зарегистрирован новый пользователь сайта ".SITE_URL."\r\n\r\n";
                    $message.="Логин: ".$nick."\r\n";
                    $message.="Пароль: ".$pass."\r\n\r\n Поменять пароль и отредактировать личные данные можно в настройках - ".SITE_URL."/settings\r\n\r\nДобро пожаловать на сайт!";
                    
                    $m->Body( $message, "utf8" );
                    $m->Priority(3);
                    
                    $m->Send();
                    
                    session_start();
                    $_SESSION['auth'] = 'true'; $_SESSION['login'] = $nick; $_SESSION['pass'] = md5($pass);
                    $_COOKIE['login'] = $nick; $_COOKIE['pass'] = md5($pass);
                    
                    header('Location: '.SITE_URL.'/settings'); die();

                }

            }
            
    break;



    case 'feedBack': // письмо администраторам
        $pref = preferences::getInstance();
        require("scripts/checkhuman/confirm_f.php");
        if(webi_confirm_pict("confirm", $_POST['code']))
        {
            $loginData = $pref -> getProperty('loginData');
            
            $m=new Mail; 
            $m->From(ekran($_POST['mymail']));
            $m->To( 'ap@parfaits.ru' );
            $m->Subject( SITE_URL . " - письмо администрации");
            $message ="Здравствуйте! \r\n\r\n";
            $message.="Для Вас отправлено новое письмо с сайта ".SITE_URL."\r\n\r\n";
            $message.="Текст:\r\n".$_POST['msgs']."\r\n\r\n";
            $message.="Автор:\r\n ".$_POST['myname']."\r\n\r\n";
            
            $m->Body( $message, "utf8" );
            $m->Priority(3);
            $m->Send();
            
            $arr = array ('ads_id' => -1, 'from_email' => ekran($_POST['mymail']), 'from_account' => $loginData['account'],
                    'to_email' => 'ap@parfaits.ru', 'to_account' => 7, 'body' => ekran($_POST['msgs']) );
            $w = insert_into ( $this -> pdo, DB_MAILS , $arr );
            $pref -> setProperty ( 'messageString', 'Письмо успешно отправлено!' );
        }
        else
        {
            $pref -> setProperty ( 'messageString', 'Ошибка в коде! Пожалуйста, вернитесь на прошлую страницу - и попробуйте ещё раз!' );
        }
    break;
    
    


}

// блок свичей для всего, что касается логина и регистрации

?>